home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-03-06 | 4.3 KB | 114 lines | [TEXT/GEOL] |
- Item 3612398 12-Dec-87 15:22
-
- From: WILSON6 Wilson, Dave - Personal Concepts
-
- To: MACAPP$ MacApp Interest List
-
- Sub: Building blocks
-
- Here are some random thoughts on MacApp building blocks. Some came from people
- attending my last MacApp class at Apple. We estimate that all these ideas could
- be implemented with only a few hundred programmer-years of effort.
-
- By the way, one way to judge the power of MacApp is to see if there are
- applications generators that can build a program more easily than we can with
- MacApp. For example, 4thDimension can build a custom data base application more
- easily, while MacWorkstation can build a host-based communications program more
- quickly. The challenge is to enhance MacApp to where it has a rich enough
- object library to compete with more specialized applications generators.
-
-
- Document Objects:
- =================
- Style TextEdit (i.e., support the new TTEView that we'll have)
- MacWrite
- Microsoft Word
- MacDraw
- MacPaint
- Pict format
-
-
- Views:
- ======
- FormViews - this would be a fill-in-the-blanks form, designed by a "resource
- editor" for Forms/Dialogs. This should support unlimited numbers of text and
- numeric fields, check boxes, etc.
-
- MacWrite - the new TTEView will be extremely valuable, but will not support
- tabs, and is limited to 32,000 characters. Could we have a descendant of
- TTEiew that supported tabs? Could it also support the Scrap formats for MWRT
- and Microsoft Word?
-
- Dialog views - easy support for UserItems. Easy implementation of scrollable
- lists in a dialog.
-
- Graph views - plot data in various formats, with axes, tickmarks, etc.
-
- 3-dimensional views. With hidden-line suppresion, ray-tracing. (Greedy).
-
-
- Frames:
- =======
- Split frames, for scrolling to simulataneously see different parts of a single
- view.
-
-
- Other objects:
- ==============
- I/O objects - these should be able to send and receive (1) blocks of bytes, (2)
- commmands such as QuickDraw commands, (3) records or objects, or (4) disk
- files, through the various interfaces on the Mac. These include AppleTalk, the
- Serial port, and the SCSI port. An example of an AppleTalk application that
- might use these is a full-fledged Conference example that allows each user to
- see windows that are controlled by each other member of the conference. Each
- window might display text and/or graphics created by one user, while a
- "blackboard" window might be simultaneously accessible to all.
-
- Bitmap objects - Larry Rosenstein did these for MacApp Paint.
-
- Objects for database applications - B-trees, Sort objects, Search objects, SQL,
- etc. Examine popular database programs to see what services they provide.
-
- Scheduler - for simulations of parallel tasks (would be good for writing code
- for parallel processors such as transputers too).
-
- Parser - for parsing text files. This would be invaluable when making tools for
- programmers, such as documentation tools for drawing program structure or
- object diagrams.
-
- Search/replace/spell checker objects - for word processors, page-layout
- programs, etc. These would work with pure text files, with descendants that
- could handle more elaborate text views.
-
- Transformers - e.g., Fourier transforms for image processing.
-
- Music/Speech - 'snd ' player objects, Macintalk speech objects, MIDI objects.
-
- List Manager support, or objects that easily do the same thing.
-
-
- Changes to MacApp:
- ==================
- We all recognize that the Macintosh is very slow for screen refresh on programs
- that use separate objects like MacWrite or MacDraw. It would be nice if the Mac
- O/S cached the bits in the window to allow quick screen updates when the window
- was covered by a dialog box, Desk Accessory, or MultiFinder layer. It would be
- nicer yet if MacApp cached the bits of parts of the view that were not even
- visible. This caching would obviously be a function of available RAM (unless
- optionally cached to disk). I tell all developers that I work with to consider
- this scheme, and I understand that Microsoft Word actually does this. It would
- be best if the MacApp team implemented this in a careful way, so we didn't each
- have to invent it ourselves.
-
- Can we expect these new featurea and building blocks by the MacWorld Expo?
- Good.
-
- Happy Holidays,
-
- David A. Wilson
- Personal Concepts
- 635 Wellsbury Way
- Palo Alto, CA 94306
- (415) 494-6763
-
-